////////////////////////////////////////////////////////////////////////////////

#ifndef _COMMONTYPES_H_
#define _COMMONTYPES_H_

////////////////////////////////////////////////////////////////////////////////

#include <utility>
#include <vector>

////////////////////////////////////////////////////////////////////////////////

namespace STM
{
    /** Utility type: position of object (x and y coordinates) */
    typedef std::pair<double, double> Position;


    /** Utility type: size of object (height and width) */
    typedef std::pair<double, double> Size;


    /** Utility type: velocity of object (vertical, horizontal)
    The value of velocity is [Pixels per frame]
    Velocity can be positive (down, right), negative (up, left), zero(stay)
    */
    typedef std::pair<double, double> Velocity;

    
    /** Pi constant */
    const double PI = 3.14159;


    /** Key's flags */
    enum KeyFlags
    {
        W_KEY = 0x1,
        A_KEY = 0x2,
        D_KEY = 0x4,
        S_KEY = 0x8,
        MOUSE1 = 0x10
    };

}


////////////////////////////////////////////////////////////////////////////////

#endif

////////////////////////////////////////////////////////////////////////////////
